#include "mySerial.h"
#include <QDebug>
#include <QStringList>

MySerial::MySerial() 
{
    // pmyport = new QextSerialPort("COM1");
    // pmyport->setBaudRate(BAUD1200);
    // pmyport->setFlowControl(FLOW_OFF);
    // pmyport->seSerialarity(PAR_ODD);
    // pmyport->setDataBits(DATA_7);
    // pmyport->setStopBits(STOP_1);
    // //set timeouts to 500 ms
    // pmyport->setTimeout(500);
    // pmyport->open(QIODevice::ReadWrite | QIODevice::Unbuffered);
    this->begin=false;
    this->isOpen=false;
    pmyport=new QSerialPort();
    pmyport->seSerialortName("COM3");
    pmyport->setBaudRate(QSerialPort::Baud19200);
    pmyport->setDataBits(QSerialPort::Data8);
    pmyport->seSerialarity(QSerialPort::NoParity);
    pmyport->setStopBits(QSerialPort::OneStop);
//    pmyport->seSerialort(com_info);
   pmyport->setFlowControl(QSerialPort::NoFlowControl);
    if (pmyport->open(QIODevice::ReadWrite)) {

        qDebug()<<"open";
        this->isOpen=true;
        QObject::connect(pmyport,SIGNAL(readyRead()), this, SLOT(onReady()));
    }
}
void MySerial::parse(QByteArray data)
{
    qDebug()<<data;
}
void MySerial::onReady()
{
    // qDebug()<<"ready";
    const QByteArray data = pmyport->readAll();
    this->parse(data);
}
double MySerial::read()
{
    if(str_list.size()<1) return -99999999;
    QString msg=str_list.at(str_list.size()-1);
    qDebug()<<msg;
    // QString msg;
    // char buff[1024];
    // qint64 nread;
    // if (!pmyport->isOpen())
    // {
    //     return 0;
    // }
    // nread=pmyport->readLine(buff,1024);
    // if (nread == -1)
    //     return 0;
    // nread=pmyport->readLine(buff,1024);
    // if (nread != -1)
    //     buff[nread] = '\0';
    // else
    //     return 0;
    // msg.clear();
    // msg.append(buff);
    // qDebug()<<msg;
    msg=msg.mid(2,9);
    qDebug()<<msg;
    return msg.toDouble();
}
MySerial::~MySerial()
{
    // pmyport->close();
    // delete pmyport;
}
